<!--
 * @FilePath     : /layui/demo/1578.html
 * @Description  : 获取下拉选实例（对象）
 * @Date         : 2025-02-25 09:12
 * @Author       : Fang YingGui
 * @LastEditors  : fangyinggui 18715384437@163.com
 * @LastEditTime : 2025-02-25 09:50
-->
<!DOCTYPE html>
<html lang="en">
  <head>
    <meta charset="UTF-8" />
    <meta http-equiv="X-UA-Compatible" content="IE=edge" />
    <meta name="viewport" content="width=device-width, initial-scale=1.0" />
    <title>documentName</title>
    <link rel="stylesheet" href="" />
  </head>
  <body>
    <!-- 1、这里设置3个容器，用于渲染3个下拉选。 -->

    <div id="demo1" class="xm-select-demo"></div>
    <div id="demo2" class="xm-select-demo"></div>
    <div id="xm3" class="xm-select-demo"></div>

    <!-- 2、一组按钮，用于触发 get 方法 -->
    <div><button class="btn" id="btn1">按钮1：get(所有)</button></div>
    <div><button class="btn" id="btn2">按钮2：get(字符串)</button></div>
    <div><button class="btn" id="btn3">按钮3：get(正则)</button></div>
    <div><button class="btn" id="btn4">按钮4：get(过滤方法)</button></div>
    <div><button class="btn" id="btn5">按钮5：get(获取单实例)</button></div>

    <script src="/xm-select/dist/xm-select.js"></script>
    <script>
      // 3、使用循环，渲染3个下拉选；
      ;['#demo1', '#demo2', '#xm3'].forEach((el, index) => {
        xmSelect.render({
          el,
          data: [
            { name: '张三', value: 1, selected: true },
            { name: '李四', value: 2 },
            { name: '王五', value: 3, disabled: true },
          ],
        })
      })

      // 4、按钮1事件；
      document.getElementById('btn1').onclick = function () {
        // 这里 获取所有已渲染的 xm-select 下拉选实例
        var xmList = xmSelect.get()
        console.log(1, xmList)
      }

      // 5、按钮2事件；
      document.getElementById('btn2').onclick = function () {
        // 参数为选择器字符串时 （单独获取 el 是 #demo2 的下拉选实例）
        var xmList = xmSelect.get('#demo2')
        console.log(2, xmList)
      }

      // 6、按钮3事件；
      document.getElementById('btn3').onclick = function () {
        // 参数为 正则表达式时 （这时获取 #demo1 和 #demo2 对应的实例）
        var xmList = xmSelect.get(/demo.*/)
        console.log(3, xmList)
      }

      // 7、按钮4事件；
      document.getElementById('btn4').onclick = function () {
        // 参数为 函数时 （这时获取 #demo1 和 #xm3 对应的实例）
        var xmList = xmSelect.get(el => {
          return el == '#demo1' || el == '#xm3'
        })
        console.log(4, xmList)
      }

      // 8、按钮5事件；
      document.getElementById('btn5').onclick = function () {
        // 参数为 函数时 （这时获取 单实例 #demo2）
        var xmList = xmSelect.get('#demo2', true)
        console.log(5, xmList)
      }
    </script>
  </body>
</html>
